/**
 * 根据某个字段重新排序
 * @param data 需要去排序的数组
 * @author 赵京涛
 * @returns {*}
 */
export const sortDataBySortField = (data) => {
  return data
    .slice() // 创建原始数据的副本，以避免修改原始数据
    .sort((a, b) => a.sort - b.sort)
}


/**
 * 合并相同key
 * @param {原始数据} list 
 * @returns 
 * @author 赵京涛
 */
export const useMergeArraysByKey = (list) => {
  return Object.entries(list.reduce((acc, obj) => {
    for (const key in obj) {
      if (obj.hasOwnProperty(key)) {
        // 如果累加器中还没有这个键，则初始化它为一个空数组  
        if (!acc[key]) {
          acc[key] = [];
        }
        // 将当前对象的数组与累加器中的数组合并  
        acc[key].push(...obj[key]);
      }
    }
    return acc;
  }, {})).reduce((result, [key, value]) => {
    // 创建一个新的对象，其中只包含合并后的数组  
    result[key] = value;
    return result;
  }, {});
}
